pub fn convert_base(num_str: &str, to_base: u32) -> String {
    // 把数字f从d进制转换成n进制
    // 首先从num_str中提取数字f和d进制
    let parts: Vec<&str> = num_str.split(&['(', ')'][..]).filter(|s| !s.is_empty()).collect();
    let (f,d) = (parts[0], parts[1]);
    // 将d字符串转换为u32
    let nd: u32 = d.parse().expect("Invalid input");
    // 将f字符串转换为十进制
    let mut num = u32::from_str_radix(f, nd).expect("Invalid number for the base"); 

    // 将num转换为n进制
    // 如果目标进制是10，则直接返回
    if to_base==10 {
        return num.to_string();
    }
    // 否则，转换为n进制
    let mut result = String::new(); 
    let digits = "0123456789abcdef";
    while num!=0 {
        let remainder = (num % to_base) as usize;
        result.push(digits.chars().nth(remainder).unwrap());
        num /= to_base;
    }
    result.chars().rev().collect()
}
